package com.ocean.system.multithreading;

import com.ocean.system.domain.SysFTPConfigLeftJoinUser;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;

import static com.ocean.system.utils.FTPUtil.ftpUtil;

/**
 * 线程类（对象）
 * @author ocean
 */
@Slf4j
public class DownloadFileTask implements Runnable{

    private SysFTPConfigLeftJoinUser sysFTPConfigLeftJoinUser;

    private Integer num;

    public DownloadFileTask(SysFTPConfigLeftJoinUser sysFTPConfigLeftJoinUser,Integer num) {
        this.sysFTPConfigLeftJoinUser = sysFTPConfigLeftJoinUser;
        this.num = num;
    }

    //创建线程的方法之一，实现Runnable接口，并重写run方法，将类实例传递给Thread方法
    @Override
    public void run() {
        // 校验参数不为空
        if(StringUtils.isNotBlank(sysFTPConfigLeftJoinUser.getId()) && StringUtils.isNotBlank(sysFTPConfigLeftJoinUser.getUserId()) && StringUtils.isNotBlank(sysFTPConfigLeftJoinUser.getFtpName()) && StringUtils.isNotBlank(sysFTPConfigLeftJoinUser.getFtpPassword()) && StringUtils.isNotBlank(sysFTPConfigLeftJoinUser.getServerIp()) && sysFTPConfigLeftJoinUser.getServerPort() !=0 && StringUtils.isNotBlank(sysFTPConfigLeftJoinUser.getFtpDir()) && StringUtils.isNotBlank(sysFTPConfigLeftJoinUser.getResourcePath())){
            // 将文件推送到FTP账号上
            ftpUtil.readConfigFileForFTP(sysFTPConfigLeftJoinUser.getServerIp(),sysFTPConfigLeftJoinUser.getServerPort(),sysFTPConfigLeftJoinUser.getFtpName(),sysFTPConfigLeftJoinUser.getFtpPassword(),sysFTPConfigLeftJoinUser.getResourcePath(),sysFTPConfigLeftJoinUser.getFtpDir(),sysFTPConfigLeftJoinUser.getUserId(),sysFTPConfigLeftJoinUser.getId(),num,sysFTPConfigLeftJoinUser.getMuluyn());
        }
        log.info("name:"+Thread.currentThread().getName()+ " "+sysFTPConfigLeftJoinUser.toString());
    }
}
